/* Copyright 2011-2016 Adobe Systems Incorporated. All Rights Reserved. */ (function(a){var b=a("#page"),c=a(window),d=function(a,b,c){this.service=a;this.elem=b;this.data=c;this.cssProxy=this.service.cssProxy;this.enabled=c&&00&&a-f0&&b-f .museBgSizePolyfill",this.elem).length)this.polyfillElement=a(a(".museBgSizePolyfill img", this.elem)[0]);this.bgMode=this.getBgMode();this.backgroundOffsetAvailable=!1;this.elem.resize(this,this.onElementResize);this.is100PercentWidth&&c.resize(this,this.onWindowResize);this.backgroundPosition=this.getBackgroundPosition();this.getBackgroundOffset();if(this.elem.hasClass("browser_width"))this.originalWidth=Muse.Utils.tryParse(Muse.Utils.getRuleProperty(this.getCSSRules(),"width"),parseInt)};g.prototype.onWindowResize=function(a){a.data.recalculateBackgroundOffset=!0};g.prototype.onElementResize= function(a){var a=a.data,b=a.service.getEffectProgress(),c=a.service.getEffectInterval(a,b);a.update(c,b-c["in"][0])};g.prototype.hasOriginalWidth=function(){return Muse.Utils.isDefined(this.originalWidth)&&-1!=this.originalWidth};g.prototype.getDeltaWidth=function(){if(!this.hasOriginalWidth())return 0;return(this.elem.innerWidth()-this.originalWidth)*this.backgroundPosition.multiplier.x};g.prototype.getBackgroundModeDisplayRatio=function(){switch(this.bgMode){case g.BG_CONTAIN:return Math.min(this.elem.innerWidth()/ this.backgroundSize.width,this.elem.innerHeight()/this.backgroundSize.height);case g.BG_COVER:return Math.max(this.elem.innerWidth()/this.backgroundSize.width,this.elem.innerHeight()/this.backgroundSize.height);default:return 1}};g.prototype.updateFixedBackground=function(a,b){var c=this.getBackgroundModeDisplayRatio(),f=this.elem.offset(),d=f.left,h=f.top-this.referenceOffset;if(this.hasPositionEffect&&0==this.positionEffect.data[this.data.indexOf(a)].speed[1]||!this.hasPositionEffect&&"fixed"== this.elem.css("position"))h=f.top-(a["in"][0]+b);f=(g.BG_COVER!==this.bgMode||!this.is100PercentWidth?d:0)+this.backgroundPosition.multiplier.x*(this.elem.width()-c*this.backgroundSize.width)+Muse.Utils.getCSSIntValue(this.elem,"border-left-width");h=h+this.backgroundPosition.multiplier.y*(this.elem.height()-c*this.backgroundSize.height)+Muse.Utils.getCSSIntValue(this.elem,"border-top-width");h={"background-position":f+"px "+h+"px"};1!=c&&(h["background-size"]=c*this.backgroundSize.width+"px "+c* this.backgroundSize.height+"px");this.cssProxy.setCSSProperties(this.elem,h)};g.prototype.update=function(a,b){if(this.backgroundOffsetAvailable){if(this.recalculateBackgroundOffset)this.recalculateBackgroundOffset=!1,this.getBackgroundOffset();if(this.backgroundFixedMode)this.updateFixedBackground(a,b);else{var c=this.getBackgroundModeDisplayRatio()-1,f=Math.floor(this.bgOffset.x-c*this.backgroundPosition.multiplier.x*this.backgroundSize.width+this.getDeltaWidth())+a.startPosition.left+a.speed[0]* b,c=Math.floor(this.bgOffset.y-c*this.backgroundPosition.multiplier.y*this.backgroundSize.height)-(a.startPosition.top+a.speed[1]*b);this.polyfillElement?(f={"margin-left":f+"px","margin-top":c+"px",left:0,top:0},this.cssProxy.setCSSProperties(this.polyfillElement,f)):(f={"background-attachment":"scroll","background-position":f+"px "+c+"px"},this.cssProxy.setCSSProperties(this.elem,f))}}else this.updateRequested=!0};g.prototype.getBackgroundOffset=function(){var a=Muse.Utils.tryParse(this.backgroundPosition.x, parseFloat,0),b=Muse.Utils.tryParse(this.backgroundPosition.y,parseFloat,0);if(!Muse.Utils.endsWith(this.backgroundPosition.x,"%")&&!Muse.Utils.endsWith(this.backgroundPosition.y,"%"))this.onBackgroundOffsetAvailable(a,b);else if(this.backgroundSize)this.updateBackgroundOffset(a,b);else{var c=this;this.getBackgroundSize(function(f){c.backgroundSize=f;c.updateBackgroundOffset(a,b);if(c.updateRequested){c.updateRequested=!1;var f=c.service.getEffectProgress(),d=c.service.getEffectInterval(c,f);c.update(d, f-d["in"][0])}})}};g.prototype.updateBackgroundOffset=function(a,b){var c=this.is100PercentWidth&&this.hasPositionEffect&&this.positionEffect.isMarkedAsOOV?this.elem.parent():this.elem;if(Muse.Utils.endsWith(this.backgroundPosition.x,"%"))var f=Muse.Utils.firstDefined(this.originalWidth,c.innerWidth()),a=a/100*(f-Muse.Utils.firstDefined(this.backgroundSize.width,f));Muse.Utils.endsWith(this.backgroundPosition.y,"%")&&(c=c.innerHeight(),b=b/100*(c-Muse.Utils.firstDefined(this.backgroundSize.height, c)));this.onBackgroundOffsetAvailable(a,b)};g.prototype.onBackgroundOffsetAvailable=function(a,b){this.bgOffset={x:a,y:b};this.backgroundOffsetAvailable=!0};g.prototype.getBgMode=function(){var a=(this.elem.get(0).currentStyle||window.getComputedStyle(this.elem.get(0),null))["background-size"]||this.elem.css("background-size");if(!a||!a.match)return g.BG_NORMAL;if(a.match(/cover/gi))return g.BG_COVER;if(a.match(/contain/))return g.BG_CONTAIN;return g.BG_NORMAL};g.prototype.isValidBackgroundPosition= function(a){return Muse.Utils.endsWith(a,"%")||Muse.Utils.endsWith(a,"px")};g.prototype.getBackgroundPosition=function(){var a=this.cssBackgroundPosition?this.cssBackgroundPosition:this.elem.css("background-position");switch(a){case "top":case "bottom":a="center "+a;break;case "0%":case "50%":case "100%":a+=" center"}if(!a){var b=this.elem.css("background-position-x"),c=this.elem.css("background-position-y");b&&(a=b+" "+(c||""))}if(!a||!a.split)return{x:"0%",y:"0%"};a=a.replace(/(?:left|top)/gi,"0%").replace(/center/gi, "50%").replace(/(?:right|bottom)/gi,"100%");a=a.replace(/^\s+|\s+$/gi,"");a=a.split(" ");1==a.length&&a.push("50%");if(!this.isValidBackgroundPosition(a[0])||!this.isValidBackgroundPosition(a[1]))Muse.Assert.fail("Invalid measurement unit for background position. Expecting px or %.");else return{x:a[0],y:a[1],multiplier:{x:Muse.Utils.endsWith(a[0],"%")?Muse.Utils.tryParse(a[0],parseInt,0)/100:0,y:Muse.Utils.endsWith(a[1],"%")?Muse.Utils.tryParse(a[1],parseInt,0)/100:0}}};g.prototype.getBackgroundSize= function(b){var c=this.polyfillElement?this.polyfillElement.attr("src"):this.elem.css("background-image");if(!c&&!c.replace)b();else{var c=c.replace(/^url\("?|"?\)$/gi,""),f=new Image;a(f).one("load",function(){b({width:f.width,height:f.height})});f.src=c}};var f=function(a,b,c){this.service=a;this.elem=b;this.data=c};f.prototype.update=function(){};var k=function(a,b,c){this.service=a;this.elem=b;this.data=c;this.cssProxy=this.service.cssProxy;this.elemToBeMarkedAsInvisible=this.elem.parent().hasClass("browser_width")? this.elem.parent():this.elem;this.hasPreInitClass=this.elem.hasClass(k.PRE_INITIT_CLASS_NAME)};k.PRE_INITIT_CLASS_NAME="ose_pre_init";k.INVISIBLE_CLASS_NAME="ose_ei";k.prototype.initialize=function(){Muse.Assert.assert(3==this.data.length,"Opacity Scroll Effect should have 3 intervals");var a=this.data[0],b=this.data[1],c=this.data[2];0');this.htmlWrapper=a("#"+h.HTML_WRAPPER_ID+"");this.docProps={paddingTop:Muse.Utils.getCSSIntValue(g,"padding-top")+Muse.Utils.getCSSIntValue(g,"margin-top"),paddingBottom:Muse.Utils.getCSSIntValue(g,"padding-bottom")+Muse.Utils.getCSSIntValue(g,"margin-bottom"),paddingLeft:Muse.Utils.getCSSIntValue(f,"margin-left"),paddingRight:Muse.Utils.getCSSIntValue(f,"margin-right")}; this.htmlWrapper.css("padding-top",this.docProps.paddingTop);this.htmlWrapper.css("padding-bottom",this.docProps.paddingBottom);this.htmlWrapper.css("width","100%");this.htmlWrapper.css("min-width",f.outerWidth());this.htmlWrapper.addClass("html");d.removeClass("html");g.addClass("scroll_wrapper");b.scroll(this,this.onWindowScroll);b.on("orientationchange",this,this.orientationChange);this.addTouchListeners(c);a("input,textarea").on("touchstart",this,this.onElementTouchStart);a("input,textarea").on("focus", this,this.onElementFocus);a("input,textarea").on("blur",this,this.onElementBlur);var k=this;a(".animationContainer").each(function(){var b=a(this);b.load(function(){var c=b.contents();k.addTouchListeners(c);a("body",c).addClass(h.IFRAME_BODY_CLASS);a("body",c).data(h.IFRAME_DATA,b)})})};h.prototype.onElementTouchStart=function(a){a.data.inFormFieldEditMode=!0};h.prototype.onElementFocus=function(a){a=a.data;if(a.stopTimeout)clearTimeout(a.stopTimeout),a.stopTimeout=0};h.prototype.onElementBlur=function(a){var b= a.data;b.stopTimeout=setTimeout(function(){b.stopTimeout=0;b.inFormFieldEditMode=!1},200)};h.prototype.addTouchListeners=function(a){a.on("touchstart",this,this.touchStartHandler);a.on("touchmove",this,this.touchMoveHandler);a.on("touchend",this,this.touchEndHandler);this.touchListeners.push(a)};h.prototype.removeTouchListeners=function(){for(var a=0,b,c=this.touchListeners.length;a